
<#macro bpTree paramDataList>
    <#if paramDataList?? && paramDataList?size gt 0>
        <#list paramDataList as child>
            <#if child.hasChild==true>
            {
                "id":"1",
                "require":"true",
                "children":[
                <@bpTree paramDataList=child.paramValue />
                ],
                "type":"${child.dataType!""}",
                "name":"${child.paramName!""}",
                "defaultValue":"",
                "description":"${child.fieldCommentText!""}"
            }

            <#else>
                {
                "id":"1",
                "require":"true",
                "children":[
                ],
                "type":"${child.dataType!""}",
                "name":"${child.paramName!""}",
                <#if child.classType == "java.lang.Boolean">
                    "defaultValue":"${child.paramValue?string('true','false')}",
                <#else>
                    "defaultValue":"${child.paramValue!""}",
                </#if>
                "description":"${child.fieldCommentText!""}"
                }
            </#if>
            <#if child_index lt paramDataList?size -1 >
                ,
            </#if>
        </#list>
    </#if>
</#macro>

{
    "requestMethod":"${requestMethod}",
    "dataType":"JSON",
    "contentType":"JSON",
    "requestArgs":[
    <#if paramDataList??>
    <@bpTree paramDataList=paramDataList/>
    </#if>
    ],
    "requestHeaders":[

    ],
    "responseHeaders":[

    ],
    "responseArgs":[
    <#if returnedData??>
        <@bpTree paramDataList=returnedData/>
    </#if>
    ],
    "url":"${requestUrl}",
    "status":"有效",
    "description":"${description}",
    "ignoreGHttpReqArgs":true,
    "ignoreGHttpReqHeaders":true,
    "ignoreGHttpRespHeaders":true,
    "ignoreGHttpRespArgs":true,
    "example":""
}